<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 1 产生随机数  2个参数
        // 2 乘法表   
        // 3 判断是不是水仙花   1个参数
        // 4 求最大公约数  
        // 5 判断是不是质数


        // 产生随机数
        // 参数说明
        //   第一个参数表示最小值
        //   第二个参数表示最大值
        // 取不到最大值，可以取到最小值
        function rand(min, max) {
            var n = parseInt(Math.random() * (max - min)) + min;
            console.log(n);
        }

        rand(10, 40);


        // 乘法表
        //  可以实现n以内的乘法表
        function print99(n) {

            for (var i = 1; i <= n; i++) {
                // 9个p
                document.write('<p>');

                for (var j = 1; j <= i; j++) {
                    document.write('<span>' + j + '*' + i + '=' + i * j + '</span>');
                }
                document.write('</p>');
            }

        }

        print99(10) ;


        // 判断是不是水仙花
        function isFlower(n) {
            // 水仙花   百   十   个
            var a = parseInt(n / 100) ;
            var b = parseInt(n % 100 / 10) ;
            var c = n % 10 ;
            if(a * a * a + b * b * b + c * c * c === n) {
                console.log(n + '是水仙花数') ;
            } 
            else {
                console.log(n + '不是水仙花数') ;
            }
        }

        isFlower(123) ;



        // 求最大公约数
        //    1 2 3 4 5 6     不会提前结束    6 12 
        //    6 5 4 3 2 1     必须提前结束    2 结束    效率更高
        function gcd(a , b) {
            for(var i = Math.min(a, b) ; i >= 1 ; i--) {
                if(a % i === 0 && b % i === 0) {
                    console.log(i);
                    break ;
                }
            }
        }


        gcd(12,16) ;



        // 判断质数
        // function isZhi(n) {
        //     // 假设法
        //     var flag = true ;  // 假设是质数

        //     for(var i = 2 ; i < n ; i++) {
        //         if(n % i === 0) {
        //             flag = false ;  // 不是
        //             break ;
        //         }
        //     }

        //     flag ? console.log(n + '是质数') : console.log(n + '不是质数') ;
        // }


        function isZhi(n) {
            
            for(var i = 2 ; i < n ; i++) {
                if(n % i === 0) {
                    break ;
                }
            }
            // i和n相等的时候，表示循环正常结束
            i === n ? console.log(n + '是质数') : console.log(n + '不是质数') ;
            // i < n ? console.log(n + '不是质数') : console.log(n + '是质数') ;
        }

        isZhi(19) ;

    </script>

</body>

</html>